home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / g / gnu_c / info.lzh / INFO / GCC_INFO.20 < prev    next >
Encoding:
GNU Info File  |  1993-10-21  |  7.0 KB  |  181 lines

  1. This is Info file gcc.info, produced by Makeinfo-1.54 from the input
  2. file gcc.texi.
  3.  
  4.    This file documents the use and the internals of the GNU compiler.
  5.  
  6.    Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
  7.  
  8.    Permission is granted to make and distribute verbatim copies of this
  9. manual provided the copyright notice and this permission notice are
  10. preserved on all copies.
  11.  
  12.    Permission is granted to copy and distribute modified versions of
  13. this manual under the conditions for verbatim copying, provided also
  14. that the sections entitled "GNU General Public License" and "Protect
  15. Your Freedom--Fight `Look And Feel'" are included exactly as in the
  16. original, and provided that the entire resulting derived work is
  17. distributed under the terms of a permission notice identical to this
  18. one.
  19.  
  20.    Permission is granted to copy and distribute translations of this
  21. manual into another language, under the above conditions for modified
  22. versions, except that the sections entitled "GNU General Public
  23. License" and "Protect Your Freedom--Fight `Look And Feel'", and this
  24. permission notice, may be included in translations approved by the Free
  25. Software Foundation instead of in the original English.
  26.  
  27. File: gcc.info,  Node: Config,  Next: Index,  Prev: Target Macros,  Up: Top
  28.  
  29. The Configuration File
  30. **********************
  31.  
  32.    The configuration file `xm-MACHINE.h' contains macro definitions
  33. that describe the machine and system on which the compiler is running,
  34. unlike the definitions in `MACHINE.h', which describe the machine for
  35. which the compiler is producing output.  Most of the values in
  36. `xm-MACHINE.h' are actually the same on all machines that GNU CC runs
  37. on, so large parts of all configuration files are identical.  But there
  38. are some macros that vary:
  39.  
  40. `USG'
  41.      Define this macro if the host system is System V.
  42.  
  43. `VMS'
  44.      Define this macro if the host system is VMS.
  45.  
  46. `FAILURE_EXIT_CODE'
  47.      A C expression for the status code to be returned when the compiler
  48.      exits after serious errors.
  49.  
  50. `SUCCESS_EXIT_CODE'
  51.      A C expression for the status code to be returned when the compiler
  52.      exits without serious errors.
  53.  
  54. `HOST_WORDS_BIG_ENDIAN'
  55.      Defined if the host machine stores words of multi-word values in
  56.      big-endian order.  (GNU CC does not depend on the host byte
  57.      ordering within a word.)
  58.  
  59. `HOST_FLOAT_FORMAT'
  60.      A numeric code distinguishing the floating point format for the
  61.      host machine.  See `TARGET_FLOAT_FORMAT' in *Note Storage Layout::
  62.      for the alternatives and default.
  63.  
  64. `HOST_BITS_PER_CHAR'
  65.      A C expression for the number of bits in `char' on the host
  66.      machine.
  67.  
  68. `HOST_BITS_PER_SHORT'
  69.      A C expression for the number of bits in `short' on the host
  70.      machine.
  71.  
  72. `HOST_BITS_PER_INT'
  73.      A C expression for the number of bits in `int' on the host machine.
  74.  
  75. `HOST_BITS_PER_LONG'
  76.      A C expression for the number of bits in `long' on the host
  77.      machine.
  78.  
  79. `ONLY_INT_FIELDS'
  80.      Define this macro to indicate that the host compiler only supports
  81.      `int' bit fields, rather than other integral types, including
  82.      `enum', as do most C compilers.
  83.  
  84. `EXECUTABLE_SUFFIX'
  85.      Define this macro if the host system uses a naming convention for
  86.      executable files that involves a common suffix (such as, in some
  87.      systems, `.exe') that must be mentioned explicitly when you run
  88.      the program.
  89.  
  90. `OBSTACK_CHUNK_SIZE'
  91.      A C expression for the size of ordinary obstack chunks.  If you
  92.      don't define this, a usually-reasonable default is used.
  93.  
  94. `OBSTACK_CHUNK_ALLOC'
  95.      The function used to allocate obstack chunks.  If you don't define
  96.      this, `xmalloc' is used.
  97.  
  98. `OBSTACK_CHUNK_FREE'
  99.      The function used to free obstack chunks.  If you don't define
  100.      this, `free' is used.
  101.  
  102. `USE_C_ALLOCA'
  103.      Define this macro to indicate that the compiler is running with the
  104.      `alloca' implemented in C.  This version of `alloca' can be found
  105.      in the file `alloca.c'; to use it, you must also alter the
  106.      `Makefile' variable `ALLOCA'.  (This is done automatically for the
  107.      systems on which we know it is needed.)
  108.  
  109.      If you do define this macro, you should probably do it as follows:
  110.  
  111.           #ifndef __GNUC__
  112.           #define USE_C_ALLOCA
  113.           #else
  114.           #define alloca __builtin_alloca
  115.           #endif
  116.  
  117.      so that when the compiler is compiled with GNU CC it uses the more
  118.      efficient built-in `alloca' function.
  119.  
  120. `FUNCTION_CONVERSION_BUG'
  121.      Define this macro to indicate that the host compiler does not
  122.      properly handle converting a function value to a
  123.      pointer-to-function when it is used in an expression.
  124.  
  125. `HAVE_VPRINTF'
  126.      Define this if the library function `vprintf' is available on your
  127.      system.
  128.  
  129. `MULTIBYTE_CHARS'
  130.      Define this macro to enable support for multibyte characters in the
  131.      input to GNU CC.  This requires that the host system support the
  132.      ANSI C library functions for converting multibyte characters to
  133.      wide characters.
  134.  
  135. `HAVE_PUTENV'
  136.      Define this if the library function `putenv' is available on your
  137.      system.
  138.  
  139. `NO_SYS_SIGLIST'
  140.      Define this if your system *does not* provide the variable
  141.      `sys_siglist'.
  142.  
  143. `USE_PROTOTYPES'
  144.      Define this to be 1 if you know that the host compiler supports
  145.      prototypes, even if it doesn't define __STDC__, or define it to be
  146.      0 if you do not want any prototypes used in compiling GNU CC.  If
  147.      `USE_PROTOTYPES' is not defined, it will be determined
  148.      automatically whether your compiler supports prototypes by
  149.      checking if `__STDC__' is defined.
  150.  
  151. `NO_MD_PROTOTYPES'
  152.      Define this if you wish suppression of prototypes generated from
  153.      the machine description file, but to use other prototypes within
  154.      GNU CC.  If `USE_PROTOTYPES' is defined to be 0, or the host
  155.      compiler does not support prototypes, this macro has no effect.
  156.  
  157. `MD_CALL_PROTOTYPES'
  158.      Define this if you wish to generate prototypes for the `gen_call'
  159.      or `gen_call_value' functions generated from the machine
  160.      description file.  If `USE_PROTOTYPES' is defined to be 0, or the
  161.      host compiler does not support prototypes, or `NO_MD_PROTOTYPES'
  162.      is defined, this macro has no effect.  As soon as all of the
  163.      machine descriptions are modified to have the appropriate number
  164.      of arguments, this macro will be removed.
  165.  
  166.      Some systems do provide this variable, but with a different name
  167.      such as `_sys_siglist'.  On these systems, you can define
  168.      `sys_siglist' as a macro which expands into the name actually
  169.      provided.
  170.  
  171. `NO_STAB_H'
  172.      Define this if your system does not have the include file
  173.      `stab.h'.  If `USG' is defined, `NO_STAB_H' is assumed.
  174.  
  175.    In addition, configuration files for system V define `bcopy',
  176. `bzero' and `bcmp' as aliases.  Some files define `alloca' as a macro
  177. when compiled with GNU CC, in order to take advantage of the benefit of
  178. GNU CC's built-in `alloca'.
  179.  
  180. ə